iPhone development – Where to start?

After struggling for quite a while to find a good documentation on iPhone SDK I decided to come up with a set of tutorials that I’m gonna do while learning the iPhone OS API myself. Official documentation found on Apple’s web site still suffers from being not clear enough and it’s not very obvious where the starting point is – whether it is the Objective-C 2.0 intro or the iPhone OS intro. Objective-C guide is hard to understand without real world example, and iPhone OS intro is too complicated to read without some basic knowledge of Objective-C. Just look at the ‘HelloWorldClassic’ example which is hundreds of lines long and makes your head go around when you look at it.

Luckily we have dozens of bloggers around and hundreds of non-official tutorials available everywhere online. As a newcomer to the Mac OS X and a person who has zero amount of experience in Cocoa programming I decided that programming for the desktop would be a better start than programming under the similar framework for the mobile device. Apple clearly states that iPhone Cocoa Touch development workflow is similar to development experience under desktop version of Cocoa, but due to the hardware specifics the Cocoa Touch has both limitations and advantages over the desktop platform. I think it is clear now that the good starting point would be the Cocoa ‘Hello World’ application, where you can get familiar with the IDE and the programming language itself. It turns out that most tutorials that are available online were created for the Xcode 2 and the older version of Objective-C, but still I was able to find some great resources that were a great push in development in Xcode IDE:

Particularly the YouTube videos by lammig were useful by showing the connection between the Interface Builder and actual coding in Xcode. Although Apple has demoed the Interface Builder for iPhone, in the original beta release of the SDK the Interface Builder for iPhone Cocoa Touch is unavailable, but Apple promised that it is not going to be a lot different from using the Interface Builder for original Cocoa for desktop platform.

This is it for today, but I’m currently building a small tutorial on how to build a lighter version of ‘Hello World’ application. By saying ‘lighter’ I mean something that is more compact and readable than the one Apple has on its iPhone Developer Center web site ;).

Tags: , , , , , ,

7 Responses to “iPhone development – Where to start?”

  1. Bob72 Says:

    I am in pretty much the same position as you with the documentation/tutorials.

    I have limited OO experience from uni but have been coding mainly in C for the last few years and getting to grips with OO and Obj-C is quite a challenge. The lack of tutorials aimed at people who already program in a non OO language is frustrating.

    Those videos you linked to are very interesting and helped me a little. I am looking forward to your tutorial especially if its aim is iPhone development.

    Thanks

  2. Aaron Says:

    yeah this remains true for me as well, though i’ve programmed in C++ the differences in functions / methods and classes and these properties is quite different, this could take awhile, and i do agree that apple is rather unclear on a starting point, from what i can gather the high level accessability of this SDK is still going to be a pain in the ass.

  3. Bob72 Says:

    I decided to look at the open tool chain in the mean time and after some initial hastle getting started I have managed to fiddle around with some open source apps and get a bit more of a feel than I was able to get with the apple sdk.

    Still I would be interested too see some good tutorials on using either..

  4. Buster Says:

    Yes, please keep up up to date on this. I too am looking for similar info on how to get started using the SDK. I have a background in C and C++ but I also took some Java last year so I understand the basics of OOP but it’s been a year so I am very, very, rusty.

    Any and all info would be helpful. I can pass along this. Maybe it’s helpful to some:
    http://www.revver.com/video/731656/uinavigationbar-cocoa-touch-tutorial-iphone/

    Shamless plug……
    The Buster Friendly Show Podcast – http://www.BusterFriendly.org

    Thanks,
    BF

  5. Adam Byram Says:

    I’m in the same boat on this too – I’m fine with OO programming (familiar with Java, C++, VB.NET, and C#), but things are quite verbose in the Objective-C/iPhone world. I’m reallllly missing intellisense from Visual Studio – but I think I just need to understand XCode a bit better and that’ll help out in that area. The whole “category” concept in Objective-C seems really interesting, but it kills me because I can’t find function X in the Apple documentation for some NS* object and it’s because they added the function as a category in the project, but you can’t tell that unless you happen to look in the right file to see that definition. Anyway, good luck with your iPhone development too and I’ll be watching to see what you figure out.

  6. PostItChild Says:

    Here’s a story about how iPhone developers are prospering in tough economic times. Don’t be surprised to see this pitch in an infomerical sometime soon: “Work from home, get rich quick! Code for the iPhone?” :>)

    http://www.medianewsandviews.com/2008/12/iphonefromhome/

  7. Lion King Says:

    I am new to the Iphone development and searching web for help, but unfortunately didn’t found much about iphone SDK development. Yeah but found one good site which is http://www.iphonedevcentral.org which has some very good startup video tutorials and they help you for beginning the development.

Leave a comment